package cn.tedu.oop;
/*本类用作面向对象OOP入门案例
 * 设计手机这一类事物:
 * 分析属性:品牌 价格 尺寸 颜色
 * 分析功能:打电话 发短信 看直播*/

/*在一个Java文件中可以写多个class,但是,被public修饰的class只能有一个
 * 并且要求这个公共类的名字必须与文件名一样*/
public class TestCreateClass {
    static Phone p;
    public static void main(String[] args) {
        //4.创建手机类的对象
        /*我们使用new关键字创建对应类的对象*/
        Phone p1 = new Phone();  //1,局部比那辆;2,直接调用别的类斌创建对象,或者导包导类
        //5.通过手机类的对象p1,调用手机类的功能\
        p1.call();
        p1.message();
        p1.video();
        //6.通过手机类的对象p1,打印查看对象的属性值
        System.out.println(p1.price);
        System.out.println(p1.color);
        System.out.println(p1.price);
        System.out.println(p1.size);
        //7.创建手机类的第2个对象
        Phone p2 = new Phone();
        //8.通过p2对象,调用手机类的3个方法
        p2.video(); //通过图纸造好的手机对象,对象自己有这个功能
        p2.call();
        p2.message();
        //9.给p2对象的4个属性赋值
        p2.brand = "HUAWEI";
        p2.color = "中国红";
        p2.price = 8888.88;
        p2.size = 5.6;
        //10.打印查看p2对象的4个属性值
        System.out.println(p2.price);
        System.out.println(p2.brand);
        System.out.println(p2.color);
        System.out.println(p2.size);

        //11.查看两个对象的地址值,不相同
        System.out.println(p1);
        System.out.println(p2);
        System.out.println(p);

        //new Phone().price;//
        new Phone().call();
    }
}
//1.通过class关键字创建了一个手机类--用来描述手机这一类事物
class Phone{
    public static void main(String[] args) {
        new Phone().call();
    }
    //2.定义手机类的属性--用成员变量来描述--位置:类里方法外,,,成员变量
    double price;//价格
    String brand;//品牌
    double size;//尺寸
    String color;//颜色

    //3.定义手机类的功能--用方法来描述--修饰符 返回值类型 方法名(参数列表){方法体}
    public void call(){
        System.out.println("正在打电话~");
    }
    public void message(){
        System.out.println("正在发短信~");
    }
    public void video(){
        System.out.println("正在看直播~");
    }
}








